//package com.example.service.impl;
//
//import org.springframework.amqp.core.Message;
//import org.springframework.amqp.core.MessagePostProcessor;
//import org.springframework.amqp.rabbit.core.RabbitTemplate;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
////消息过期进死信队列（秒杀订单 15 分钟未支付）
//@Service
//public class SeckillProducer {
//    @Autowired
//    private RabbitTemplate rabbitTemplate;
//
//    // 发送秒杀订单消息（设置15分钟过期：15*60*1000=900000ms）
//    public void sendSeckillOrderMsg(String orderId) {
//        // 1. 消息内容（这里用订单ID举例，实际可传完整订单DTO）
//        String msg = "seckill_order_" + orderId;
//
//        // 2. 设置消息过期时间（关键：过期后成为死信）
//        MessagePostProcessor messagePostProcessor = message -> {
//            // 单位：毫秒（注意：字符串格式，如"900000"表示15分钟）
//            message.getMessageProperties().setExpiration("900000");
//            return message;
//        };
//
//        // 3. 发送消息到秒杀交换机（路由到核心队列）
//        rabbitTemplate.convertAndSend(
//                "seckill.exchange",       // 秒杀业务交换机
//                "seckill.routing.key",    // 秒杀业务路由键
//                msg,                      // 消息内容
//                messagePostProcessor      // 消息处理器（设置过期时间）
//        );
//    }
//}
